<template>
  <div class="home-recommond">
    <h3>推荐歌单</h3>
    <div class="wrapper" ref="wrapper">
      <!-- 滚动所需的容器 -->
      <ul class="content" ref="content">
        <li v-for="(item, index) in listData" :key="index" 
          @click="selectItem(item)">
          <div class="cover">
            <van-image :src="item.cover" radius="1rem" />
            <span>{{ item.listen_num | numFilter(2) }}万</span>
          </div>
          <span>{{ item.title }}</span>
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
import { betterScrollHorizontal } from "../../common/betterScroll.js";
export default {
  data() {
    return {
      listData: [],
    };
  },
  created() {
    this.getSongListData();
  },
  methods: {
    getSongListData() {
      this.$request("get", "/recommend/playlist/u").then((res) => {
        // console.log(res);
        if (res.result == 100) {
          this.listData = res.data.list;
        }
        //异步数据的一些处理
        betterScrollHorizontal(
          this,
          this.$refs.wrapper,
          this.$refs.content,
          this.listData.length,
          10
        );
      });
    },
    selectItem(item){
      const id = item.content_id; //获取到歌单的id
      // console.log(id)
      //编程式导航
      //1.命名式路由（带参数），通过name跳转
      // this.$router.push({
      //   name:'songlist',
      //   params:{
      //     id:id //由于key和value完全一样，可以直接写：id
      //   }
      // })
      //2.通过path跳转
      // this.$router.push({
      //   path: `/songlist/${id}`
      // })
      this.$router.push(`/songlist/${id}`)
    }
  },
  filters: {
    numFilter(value, num) {
      return parseFloat(value / 10000).toFixed(num);
    },
  },
};
</script>

<style scoped>
/* .home-recommond > ul {
  display: flex;
  flex-wrap: wrap;
}
.home-recommond > ul > li {
  width: calc((100% - 1rem) / 3 * 1);
}
.home-recommond > ul > li:nth-of-type(3n + 2) {
  margin: 0 0.5rem;
}*/
.cover > span {
  position: absolute;
  right: 0;
  bottom: 0.3rem;
  background-color: #a6a0a0;
  border-radius: 1rem;
  color: white;
  font-size: 14px;
  width: 5rem;
}
.cover {
  position: relative;
}
.wrapper {
  width: 100%; /*容器的宽度就是屏幕的宽度 */
  overflow: hidden;
}
/* content内容区的宽度要大于wrapper容器的宽度，12个列表项 */
/* ul.content {
  width: calc(12 * 10rem);
} */
ul.content li {
  /**li默认是块级元素，修改为行内元素，但是要具备块级元素的特性 */
  display: inline-block;
  width: 10rem;
  vertical-align: top; /**垂直方向的位置 */
}
/**li里面有两个元素：div和span，所以使用通配符*    */
ul.content li * {
  margin: 0.1rem; /*里面的元素与li的边缘有个间距 */
}
ul.content li > span {
  font-size: 0.8rem;
  color: #54493b;
}
</style>